The advent of computers and their continued technological advancement has revolutionized the manner in which people work and live. An example of such is in the education field, wherein educational presentations (such as college lectures, workplace training sessions, etc.) can be provided to a computer user as multimedia data (e.g., video, audio, text, and/or animation data). Today, such presentations are primarily video and audio, but a richer, broader digital media era is emerging. Educational multimedia presentations provide many benefits, such as allowing the presentation data to be created at a single time yet be presented to different users at different times and in different locations throughout the world.
These multimedia presentations are provided to a user as synchronized media. Synchronized media means multiple media objects that share a common timeline. Video and audio are examples of synchronized media—each is a separate data stream with its own data structure, but the two data streams are played back in synchronization with each other. Virtually any media type can have a timeline. For example, an image object can change like an animated gif file, text can change and move, and animation and digital effects can happen over time. This concept of synchronizing multiple media types is gaining greater meaning and currency with the emergence of more sophisticated media composition frameworks implied by MPEG-4, Dynamic HTML, and other media playback environments.
The term “streaming” is used to indicate that the data representing the various media types is provided over a network to a client computer on a real-time, as-needed basis, rather than being pre-delivered in its entirety before playback. Thus, the client computer renders streaming data as it is received from a network server, rather than waiting for an entire “file” to be delivered.
Multimedia presentations may also include “annotations” relating to the multimedia presentation. An annotation is data (e.g., audio, text, video, etc.) that corresponds to a multimedia presentation. Annotations can be added by anyone with appropriate access rights to the annotation system (e.g., the lecturer/trainer or any of the students/trainees). These annotations typically correspond to a particular temporal location in the multimedia presentation and can provide a replacement for much of the “in-person” interaction and “classroom discussion” that is lost when the presentation is not made “in-person” or “live”. As part of an annotation, a student can comment on a particular point, to which another student (or lecturer, assistant, etc.) can respond in a subsequent annotation. This process can continue, allowing a “classroom discussion” to occur via these annotations. Additionally, some systems allow a user to select a particular one of these annotations and begin playback of the presentation starting at approximately the point in the presentation to which the annotation corresponds.
The multimedia presentations available to a user may include different versions of the same underlying multimedia content. These different versions can have, for example, different resolutions, different bandwidth requirements, different presentation lengths, etc. Due to limitations of the user's computer system, or communication bandwidth limitations, different users may choose (or be required to choose) particular versions of the multimedia content, or users may switch between the different versions.
However, annotations typically correspond to a particular multimedia presentation. Since each of the different versions of the multimedia content is a different multimedia presentation, typical annotations correspond to only one of these presentations. This can be problematic because annotations added by a user to one particular version of the multimedia content (e.g., a low-resolution version) would be associated with that version and would not be available to users being presented with other versions (e.g., a high-resolution version).
One solution to this problem is to have a duplicative annotation structure in which each of the annotations that is created for a version of the multimedia content is duplicated in the annotation storage structure for each of the other versions. The necessary repetition in this solution, however, creates a particularly burdensome process in creating the annotations, as well as requiring a substantial amount of storage space to maintain all of the duplicated annotations.
The invention described below addresses this and other disadvantages of annotations, providing an improved way to create and maintain annotations corresponding to multimedia content.